import { 
  Document, 
  List, 
  Check, 
  User, 
  OfficeBuilding,
  DataAnalysis,
  DocumentChecked
} from '@element-plus/icons-vue'

/**
 * 根据角色类型获取菜单配置
 * @param {Number} roleType - 角色类型：1-普通员工，2-部门经理，3-系统管理员
 */
export function getMenuByRole(roleType) {
  // 普通员工菜单
  const employeeMenu = [
    {
      path: '/',
      name: '首页',
      icon: DataAnalysis,
      meta: { title: '首页' }
    },
    {
      path: '/leave/apply',
      name: '请假申请',
      icon: Document,
      meta: { title: '请假申请' }
    },
    {
      path: '/leave/my-list',
      name: '我的请假',
      icon: List,
      meta: { title: '我的请假记录' }
    }
  ]
  
  // 部门经理菜单（包含员工菜单 + 审批功能）
  const managerMenu = [
    {
      path: '/',
      name: '首页',
      icon: DataAnalysis,
      meta: { title: '首页' }
    },
    {
      path: '/leave/apply',
      name: '请假申请',
      icon: Document,
      meta: { title: '请假申请' }
    },
    {
      path: '/leave/my-list',
      name: '我的请假',
      icon: List,
      meta: { title: '我的请假记录' }
    },
    {
      path: '/leave/approve',
      name: '请假审批',
      icon: DocumentChecked,
      meta: { title: '待审批列表' }
    },
    {
      path: '/leave/approve-history',
      name: '审批历史',
      icon: Check,
      meta: { title: '审批历史记录' }
    }
  ]
  
  // 系统管理员菜单（全部功能）
  const adminMenu = [
    {
      path: '/',
      name: '首页',
      icon: DataAnalysis,
      meta: { title: '首页' }
    },
    {
      path: '/leave/approve',
      name: '请假审批',
      icon: DocumentChecked,
      meta: { title: '待审批列表' }
    },
    {
      path: '/leave/approve-history',
      name: '审批历史',
      icon: Check,
      meta: { title: '审批历史记录' }
    },
    {
      path: '/leave/all-list',
      name: '全部请假',
      icon: List,
      meta: { title: '所有请假记录' }
    },
    {
      path: '/user/manage',
      name: '员工管理',
      icon: User,
      meta: { title: '员工管理' }
    },
    {
      path: '/dept/manage',
      name: '部门管理',
      icon: OfficeBuilding,
      meta: { title: '部门管理' }
    }
  ]
  
  const menuMap = {
    1: employeeMenu,    // 普通员工
    2: managerMenu,     // 部门经理
    3: adminMenu        // 系统管理员
  }
  
  return menuMap[roleType] || employeeMenu
}
